home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / cups / transcode.h < prev   
Encoding:
C/C++ Source or Header  |  2008-10-21  |  2.1 KB  |  82 lines

  1. /*
  2.  * "$Id: transcode.h 7721 2008-07-11 22:48:49Z mike $"
  3.  *
  4.  *   Transcoding definitions for the Common UNIX Printing System (CUPS).
  5.  *
  6.  *   Copyright 2007 by Apple Inc.
  7.  *   Copyright 1997-2006 by Easy Software Products.
  8.  *
  9.  *   These coded instructions, statements, and computer programs are the
  10.  *   property of Apple Inc. and are protected by Federal copyright
  11.  *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
  12.  *   which should have been included with this file.  If this file is
  13.  *   file is missing or damaged, see the license at "http://www.cups.org/".
  14.  *
  15.  *   This file is subject to the Apple OS-Developed Software exception.
  16.  */
  17.  
  18. #ifndef _CUPS_TRANSCODE_H_
  19. #  define _CUPS_TRANSCODE_H_
  20.  
  21. /*
  22.  * Include necessary headers...
  23.  */
  24.  
  25. #  include "language.h"
  26.  
  27. #  ifdef __cplusplus
  28. extern "C" {
  29. #  endif /* __cplusplus */
  30.  
  31.  
  32. /*
  33.  * Constants...
  34.  */
  35.  
  36. #  define CUPS_MAX_USTRING    8192    /* Max size of Unicode string */
  37.  
  38.  
  39. /*
  40.  * Types...
  41.  */
  42.  
  43. typedef unsigned char  cups_utf8_t;    /* UTF-8 Unicode/ISO-10646 unit */
  44. typedef unsigned long  cups_utf32_t;    /* UTF-32 Unicode/ISO-10646 unit */
  45. typedef unsigned short cups_ucs2_t;    /* UCS-2 Unicode/ISO-10646 unit */
  46. typedef unsigned long  cups_ucs4_t;    /* UCS-4 Unicode/ISO-10646 unit */
  47. typedef unsigned char  cups_sbcs_t;    /* SBCS Legacy 8-bit unit */
  48. typedef unsigned short cups_dbcs_t;    /* DBCS Legacy 16-bit unit */
  49. typedef unsigned long  cups_vbcs_t;    /* VBCS Legacy 32-bit unit */
  50.                     /* EUC uses 8, 16, 24, 32-bit */
  51.  
  52.  
  53. /*
  54.  * Prototypes...
  55.  */
  56.  
  57. extern int    cupsCharsetToUTF8(cups_utf8_t *dest,
  58.                   const char *src,
  59.                   const int maxout,
  60.                   const cups_encoding_t encoding);
  61. extern int    cupsUTF8ToCharset(char *dest,
  62.                   const cups_utf8_t *src,
  63.                   const int maxout,
  64.                   const cups_encoding_t encoding);
  65. extern int    cupsUTF8ToUTF32(cups_utf32_t *dest,
  66.                 const cups_utf8_t *src,
  67.                 const int maxout);
  68. extern int    cupsUTF32ToUTF8(cups_utf8_t *dest,
  69.                 const cups_utf32_t *src,
  70.                 const int maxout);
  71.  
  72. #  ifdef __cplusplus
  73. }
  74. #  endif /* __cplusplus */
  75.  
  76. #endif /* !_CUPS_TRANSCODE_H_ */
  77.  
  78.  
  79. /*
  80.  * End of "$Id: transcode.h 7721 2008-07-11 22:48:49Z mike $"
  81.  */
  82.